package cn.yunyichina.provider.bone.vo;

import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;

/**
 * Created by zhuxp on 2018/2/7.
 *
 * @param
 * @Descrition 报名记录新增Vo
 */
@Getter
@Setter
public class AdmissionsAddInlandVo {

    /*订单号*/
    private String orderNo;

    /*组织ID*/
    private String orgId;

    /*组织名称*/
    private String orgName;

    /**/
    private String orgCode;

    /*平台ID*/
    private String platformId;

    /*平台名*/
    private String platformName;

    /**/
    private String platformCode;

    /*应用名*/
    private String platformOrgAppName;

    /*平台应用ID*/
    @NotNull(message = "平台应用ID为空")
    private String platformOrgAppCode;

    /*订单状态              1-创建             2-成功              3-失败              4-异常              5-变更              6-取消              7-超时  */
    private Short orderStatus;

    /*支付状态              1-未支付              2-支付受理（调起收银台）              3-已支付（收到支付成功的回调）              4-支付失败              5-待退费              6-退费受理              7-已退费              8-部分退费              9-退费失败*/
    private Short payStatus;

    /*用户全名*/
    @NotBlank(message = "用户名为空")
    private String fullName;

    /*用户名*/
    private String firstName;

    /*用户姓*/
    private String lastName;

    /*手机号码*/
    @NotBlank
    private String mobile;

    /*用户所在地址*/
    @NotBlank
    private String address;

    /*1:医生 2：学生&护士 3：企业参会代表*/
    @NotNull
    private Short identityType;

    /*个人信息用户性别              1-男              2-女              3-未知*/
    @NotNull(message = "用户性别不能为空")
    private Short sex;

    /*邮箱*/
    private String email;

    /*个人信息用户身份证类型              1：二代身份证，               2：港澳居民身份证，               3：台湾居民身份证，               4：护照*/
    private Short idCardType;

    /*个人信息用户身份证号*/
    private String idCardNo;

    /*报名用户所属医院或机构名称*/
    @NotNull(message = "registerOrgName为空")
    private String registerOrgName;

    /*报名用户所属医院的科室或部门名称*/
    @NotBlank(message = "registerOrgDept为空")
    private String registerOrgDept;

    /*头衔职位*/
    @NotBlank(message = "头衔职位为空")
    private String title;

    /*第三方支付公司交易流水号*/
    private String paymentDealId;

    /*是否开具发票  1-是              2-否    */
    @NotNull(message = "isInvoice为空")
    private Short isInvoice;

    /*发票类型  1-电子发票              2-纸质发票    */
    private Short invoiceType;

    /*发票抬头（收款单位）*/
    private String payyee;

    /*税务登记号*/
    private String taxRegistryNo;

    /*发票类型：纸质发票时候邮寄地址*/
    private String mailingAddress;

    /*支付渠道(1:微信;2:支付宝;3:银联;4:现金;11:微信APP支付;12:微信公众号支付;13:微信扫码付;14:微信刷卡付;21:支付宝APP支付;22:支付宝手机网站支付;23:支付宝扫码支付;24:支付宝条码支付;25:支付宝收款;)*/
    private Short payMode;

    /**/
    private String openId;

    /*支付编码              WXJSAPI               WXAPP              WXNATIVE              WXMICROPAY*/
    private String payCode;

    /*应缴金额*/
    private Integer payAmount;

    /*实际金额*/
    private Integer payRealAmount;

    /*支付时间*/
    private String payTime;

    /*区域来源 1:国内  2:国外 */
    private Short regionType;

    /*数据来源：1、pc端、2、微信*/
    private String dataSource;
    @NotBlank(message = "验证码不能为空")
    private String verificationCode; //验证码

}
